![コンプライアンスチェックのカスタムルールを作って評価させてみた](https://devio2023-media.developers.io/wp-content/uploads/2019/07/dome9-eyecatch.png)
コンプライアンスチェックのカスタムルールを作って評価させてみた
こんにちは、岩城です。
Dome9では、AWS環境のコンプライアンスチェックを行うPosture Managementという機能があります。
業界標準やベストプラクティスに関連するマネジメントルールが多数用意されており、すぐにAWS環境をチェックすることが可能です。
また、以下のサイトからも確認できます。
AWSに関するルールは現時点で251ありました。カテゴリに分けると次のような感じです。
項目 | ルール数 |
---|---|
Cloud Assets Management | 5 |
Encryption and Key Management | 50 |
Domain Name System (DNS) Management | 5 |
Backup and Disaster Recovery | 4 |
Identity and Access Management | 74 |
Logging | 35 |
Monitoring | 12 |
Network Security | 51 |
Operational | 12 |
Vulnerability and Threat Management | 3 |
業務要件等を踏まえたチェックを考えた場合、マネージドに提供されているものだけでは満たせないケースがあります。
Dome9はそのようなケースへ対応するため、自分でルールを簡単に定義できますし、検証も楽なので紹介したいと思います。
やってみた
Dome9はルールの集合としてルールセット単位で管理します。マネジメントルールセットのあるルールだけを直接変更することはできません。
そこで、ルールセットごとClone
してカスタマイズします。
ルールセット名や説明はデフォルトのままで構いません。
クローンされたルールセットが表示されるのでNew Rule
からルールを追加します。
GSLと書かれている入力フォームをクリックします。
GSLはDome9独自言語で宣言的にリスクの有無を評価する式を記述できます。独自言語ではありますが、比較的分かりやすい方だと私は感じます。
それでも独自言語ということで気が乗らないかも知れません。そんな方にはBuilder
を使ってGUIベースで評価式を作成することをおすすめします。
今回は例として分かりやすくすべてのIAMユーザーでMFAが有効になっていることを評価する式を作成してみます。
Actionsでshould have
を選択します。
PropertiesでmfaActive
を選択します。
Operatorsで=
およびtrue
を選択します。
すべてのIAMユーザーでMFAが有効になっていることを評価する式が完成しました。
先程から見えていましたがテスト機能も備えており、ルールを作成する前にテスト可能です。
今回テスト評価した環境にはIAMユーザーが7つあるため、7つあるうち6つでMFAが有効になっていないので不合格になったことが分かります。
先程の画面では不合格になったIAMユーザーが6つあることしか分かりませんが、Expand
を押すとIAMユーザー名といったリソースを特定することも可能です。
テストの結果問題なかったので、ルールを作成します。作成の際、ルール名、説明、Severityを入力して完了です。
作成完了するとルールセット内のルールとして登録されます。
おわりに
Dome9が用意するマネジメントルールではカバーできない場合、カスタムルールを作成することで解決するかも知れません。
GSLという独自言語で辛いと感じるかも知れませんが、Builderツールを使えばGUIで簡単にルールを作成できます。
是非トライしてみてください。
本エントリがどなたかのお役に立てれば幸いです。